﻿//*** Guidance generated code ***//
using System;
using System.Collections.Generic;
using System.Diagnostics.Contracts;
using System.Linq;

using ProjectBase.Core;

namespace ProjectBase.Core.Tools.Export
{
    /// <summary>
    /// Common basic interface for data exporters, resulting in OpenXml document
    /// (E.g. MS Excel or Word 2007+)
    /// /// </summary>
    /// <typeparam name="TModel"></typeparam>
    public interface IOpenXmlExporter<in TModel> : IService, IPublishingReporter
        where TModel : IExporterData
    {
        /// <summary>
        /// Builder, converting the data into the OpenXml document
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        bool Execute(TModel model);
    }
}